Adaptive bit rate streaming is a technique used in streaming multimedia over networks. It involves detecting a user device's bandwidth and central processing unit (CPU) capacity in real time, and adjusting the quality of a multimedia stream accordingly. An encoder, for example, may be used to encode a single multimedia source at multiple bit rates. The user device may switch between streaming the different encodings depending on available resources. As a result, adaptive bit rate streaming requires little to no buffering, has fast start times, and can be used for both high-end and low-end connections.